﻿using System;
using System.Collections.Generic;
using System.Text;
using SlimDX.Direct3D11;
using SlimDX.D3DCompiler;

namespace ParticlesEngine.Core
{
    public abstract class GraphicComponent : IDisposable
    {
        internal DeviceContext context;
        internal Device device;
        protected Effect effect;

        public Effect Effect
        {
            get { return effect; }
            set { effect = value; }
        }
        protected EffectTechnique technique;
        protected EffectPass pass;

        public abstract void Draw();

        public abstract void Update();

        public abstract void Initialize();

        #region IDisposable Members

        public abstract void Dispose();
        

        #endregion
    }
}
